package com.ysd.lis.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;

import java.sql.Timestamp;
import java.util.List;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * <p>
 * 培训计划表
 * </p>
 *
 * @author LiuQi
 * @since 2024-03-20
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("WK_TRAINING_PLAN")
public class WkTrainingPlan extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 培训编码
     */
    @TableField("TRAINING_CODE")
    private String trainingCode;

    /**
     * 培训题目
     */
    @TableField("TRAINING_NAME")
    private String trainingName;

    /**
     * 培训内容
     */
    @TableField("TRAINING_CONTENT")
    private String trainingContent;

    /**
     * 培训时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @TableField("TRAINING_DATE")
    private Timestamp trainingDate;

    /**
     * 培训地点
     */
    @TableField("ADDRESS")
    private String address;

    /**
     * 培训结束时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @TableField("END_DATE")
    private Timestamp endDate;

    /**
     * 培训目标
     */
    @TableField("TARGET")
    private String target;

    /**
     * 是否采用相关知识 0 否1 是
     */
    @TableField("IS_KNOWLEDGE")
    private BigDecimal isKnowledge;

    /**
     * 培训方式 0 ：线下培训 1 ：线上培训
     */
    @TableField("TRAINING_TYPE")
    private BigDecimal trainingType;

    /**
     * 主持人ID
     */
    @TableField("HOST_ID")
    private String hostId;

    /**
     * 主持人名称
     */
    @TableField("HOST_NAME")
    private String hostName;

    /**
     * 记录人id
     */
    @TableField("RECORDER_ID")
    private String recorderId;

    /**
     * 记录人名称
     */
    @TableField("RECORDER_NAME")
    private String recorderName;

    /**
     * 参与率，签到率
     */
    @TableField("PARTICIPATION_RATE")
    private Double participationRate;

    /**
     * 备注
     */
    @TableField("REMAKE")
    private String remake;

    /**
     * 顺序
     */
    @TableField("SEQ")
    private BigDecimal seq;

    /**
     * 状态 0 暂存 1 发布
     */
    @TableField("STATUS")
    private BigDecimal status;

    /**
     * 签到人数
     */
    @TableField(exist = false)
    private int signNo;

    /**
     * 未签到人数
     */
    @TableField(exist = false)
    private int notSignNo;

    /**
     * 拒绝人数
     */
    @TableField(exist = false)
    private int refuseSignNo;

    /**
     * 用户列表
     */
    @TableField(exist = false)
    private List<SysUser> sysUserList;

    /**
     * 知识库列表
     */
    @TableField(exist = false)
    private List<WkKnowledgeContent> knowledgeList;

    /**
     * 知识库id
     */
    @TableField(exist = false)
    private List<String> knowledgeIds;
}
